There is an increasing need of delivering wireless technology with broadband capacity for cellular networks. A good broadband system must fulfil determined criteria, such as high data rate and capacity, low cost per bit, good Quality of Service and greater coverage. High Speed Packet Access (HSPA) is an example of a network access technology that enables this.
HSPA is a collection of protocols which improves the performance of existing Universal Mobile Telecommunication Systems (UMTS), which is a third generation (3G) cell phone technology. UMTS uses Wideband Code Division Multiple Access (WCDMA) as air interface for the radio-based communication between user equipment (UE), in form of a mobile terminal, and the Node-B (NB). The air interface in the Open Systems Interconnection (OSI) model comprises layers 1 and 2 of the mobile communications system, establishing a point-to-point link between the UE and a radio access node (RAN).
WCDMA is a wideband spread-spectrum air interface that utilizes the direct sequence Code Division Multiple Access (CDMA) signalling method to achieve higher speeds and to support more users. The key features for WCDMA are:                Two 5 MHz radio channels for Uplink (UL) and Downlink (DL) channels respectively.        Support of two basic duplex modes, Frequency division (FDD) and Time division (TDD).        
HSPA is an integral part of WCDMA. Wide-area mobile coverage can be provided with HSPA. It does not need any additional spectrum or carriers. Currently, WCDMA can provide simultaneous voice and data services to users on the same carrier. This also applies to HSPA which means that spectrum can be used efficiently. Simulations show that in a moderately loaded system, HSPA can largely reduce the time it takes to download and to upload large files.
HSPA is the set of technologies defining the migration path of WCDMA operators worldwide. The two existing features, High Speed Downlink Packet Access (HSDPA) and High Speed Uplink Packet Access (HSUPA), in the HSPA family provides the increased performance by using improved modulation schemes and by refining the protocols by which handsets and Node-B's communicate. These improvements lead to better utilization of the existing radio bandwidth provided by UMTS.
High Speed Downlink Packet Access (HSDPA) is the first feature within HSPA. It is part of the WCDMA Third Generation Partnership Project (3GPP) Release 5 specification. HSDPA provides a new downlink transport channel—the                the High Speed Downlink Shared Channel (HS-DSCH)—that enhances support for high-performance packet data applications. A new Medium Access Control (MAC) sublayer, MAC-hs (high speed), has been introduced which enables a functional split between layers and nodes from different releases of WCDMA. MAC-hs handles HS-DSCH.        
In FIGS. 1 and 2, a HSDPA/HSUPA network overview is indicated. FIG. 1 illustrates a network with only one node of each kind while FIG. 2 illustrates the same network with more than one node of each kind. The network comprises a Core Network (CN) communicating with at least one Radio Network Controller (RNC) 12,12′,12″ over the Iu interface. At least one Node-B (NB) 11,11′,11″ comprises a EUL scheduler unit EUL-S. The EUL Scheduler is also denoted the MAC-e Scheduler, and communicates with the respective RNC over respective Iub interfaces. HSUPA will be described more in detail later. The Node-B also comprises a HSDPA scheduler HS-S. The HSDPA Scheduler is also denoted the MAC-hs Scheduler, and communicates with the RNC over the Iub interface.
The following HSDPA channels are transmitter over the air interface:                HS-SCCH to provide timing and coding information, thus allowing the UE to listen to the HS-PDSCH at the correct time and using the correct codes to allow successful decoding of UE data.        HS-PDSCH to convey the MAC-hs payload        HS-DPCCH to convey control signalling of the MAC-hs.        
HSDPA is based on shared channel and multi-code transmission. This means that some channel codes and the transmission power in a cell are seen as a common resource that is dynamically shared between users in the time and code domains. This is for a more efficient use of available codes and power resources in WCDMA. It is also based on high-order modulation, in which 16 Quadrature Amplitude Modulation (16QAM) is used to provide higher data rates. HSDPA is further based on fast link adaptation, in which the transmission parameters are adjusted instantaneously to the radio conditions reported by the User Equipment (UE) and when conditions permit, enable high-order modulation.
In HSDPA fast scheduling is used, which feature operates with the objective to transmit to UEs with favourable radio conditions. Another basic principle with HSDPA is fast Hybrid Automatic Repeat Request (HARQ). The UE can combine information from different transmissions of a particular data packet in its decoding of the packet and will indicate the status of the decoding to Node-B, which in case of unsuccessful decoding retransmits the packet.
In HSDPA, the Transmission Time Interval (TTI) is 2 ms, which reduces the round-trip time (RTT) for end-user applications. RTT is a measure of the time it takes for a packet to travel from a User Equipment (UE), across a network to e.g. another users' UE, and back. Transport protocols like TCP, which expect an acknowledgement to arrive after data has been successfully received, keep an estimate of the current RTT on each connection. TCP use the RTT estimate to determine how long to wait for an acknowledgement before retransmitting.
High Speed Uplink Packet Access (HSUPA) is the second feature within HSPA. It is part of the WCDMA Third Generation Partnership Project (3GPP) Release 6 specification. HSUPA is also called Enhanced Uplink. In HSUPA, a new MAC sublayer, MAC-e, has been introduced which enables a functional split between layers and nodes from different releases of WCDMA. HSUPA provides a new uplink (UL) transport channel called Enhanced Dedicated CHannel (E-DCH) which is handled by MAC-e. HSUPA increases the uplink data rate. This technology gives the possibility to significantly increase the amount of data uploaded over mobile networks, especially user-generated content. Although a majority of the data traffic is downlink oriented, there are still quite a number of applications that will benefit from an improved uplink. These include the sending of large e-mail attachments, pictures, video clips, blogs etc. HSUPA is also known as Enhanced UL.
One concept of Enhanced Uplink is multi-code transmission, which means that the E-DCH transport channel can be transmitted over several channelization codes, to increase the size of the E-DCH for one UE. Another concept of EUL is a shorter TTI, 2 or 10 ms for the UL. Also HSUPA uses HARQ. The Node-B can request retransmission of erroneously received data. Soft handover is also possible with HSUPA, in contrast to HSDPA. HSUPA further also uses fast scheduling to enable rapid resource reallocation between UEs by exploiting the “burstiness” in packet data transmissions.
The following HSUPA channels are transmitted over the air interface:                The E-AGCH to convey absolute grant signalling from the MAC-e scheduler towards the UEs        The E-RGCH for relative grant signalling        E-HICH to convey acknowledgement feedback from Node-B decoding of UE transmitted data        Dedicated Physical Channel (DPCH) or Fractional DPCH to convey Transmit Power Control (TPC) commands        Enhanced DPDCH (E-DPDCH) to convey the MAC-e payload        Enhanced DPCCH (E-DPCCH) to convey the control signalling of the MAC-e.        
As a basic principle of the uplink scheduling mechanism, the UE maintains a serving grant which represents the maximum E-DPDCH power the UE can use in the next transmission. The available uplink power determines the possible data rate. The absolute grant allows the Node-B scheduler to directly adjust the granted rate of UEs under its control. It is used to initialize the serving grant. The relative grants are used to incrementally adjust the UE's serving grants. As an input to the scheduling, UE feedback is required. The UE has the possibility to send scheduling information which provides detailed information about the buffer status in the UE as well as scheduling request, i.e. “lack of resources”/“enough resources”. Therefore, the Node-B scheduler can make appropriate scheduling decisions.
HSDPA/HSUPA scheduling is provided by the scheduler entities (MAC-hs and MAC-e schedulers) located in the Node-B, close to the air interface.
As with any telecommunication technology, end-user performance with HSPA depends on the type of service and the behavior of higher-layer application protocols. Transmission Control Protocol (TCP) used for packet data services includes slow start and mechanisms which influence the performance. For instance in web-browsing it is possible that TCP and not HSPA as air interface that limits the performance. The main end-user benefit of HSPA for small objects transported via TCP is the reduced RTT, thanks to fast HARQ and short TTI. End-to-end latency, which is e.g. the average time for a packet from a UE, to a TCP/IP server and back, is a critical component that affects end-user perception of TCP/IP applications.
In contrast to web-browsing, TCP has very low impact on the time to download a large file, which means that the performance is largely determined by the data rate of the radio link. A single user downloading a large file can occupy a significant amount of the total cell capacity. Consequently, cell capacity has a substantial impact on the perceived performance when end-users download large files.
A wireless customer will typically use a laptop with a HSDPA and HSUPA(EUL) capable 3GPP pc-card or USB card or with preinstalled HSDPA/EUL 3GPP capabilities. When the customer starts its web browser the HTTP protocol will be used using the TCP/IP (Internet Protocol) protocol stack.
HTTP is a client-server protocol by which two machines can communicate over a TCP/IP connection. A HTTP server is a program that sits listening on a machine's port for HTTP requests. A HTTP client (typically the wireless customer) opens a TCP/IP connection to the server via a socket, transmit a request for a document, then waits for a reply from the server. Once the request-reply sequence is completed, the socket is closed.
In order to transmit user data in the uplink direction of 3GPP a Random Access Channel (RACH) channel can be used, preferably for smaller amount of data. RACH is used to get the attention of a Node-B in order to initially synchronize the UEs transmission with the Node-B. Either Dedicated Channels (DCH) or Enhanced Uplink channels (E-DCH) can be used for larger amount of data. In the downlink direction Forward Access Channel (FACH) can be used for smaller amount of data whilst DCH or HS-DSCH can be used for larger amount of data.
The forward access channel (FACH) is used for low volume data and is similar to the broadcast channel and random access channel of older mobile technologies. Use of the forward access channel (FACH) gives improved cell capacity at low data rates and thus improves the battery life of the mobile user terminal due to the lower transmission power that is required. A dedicated channel (DCH) of a cell is typically used for high volume data or voice.
It is up to each 3GPP vendor to decide when the switch between the various candidates for data forwarding shall occur, but it is often true that a switch over to E-DCH and HS-DSCH will occur when traffic volume increases over a specific level. It is also fully possible to set up HS-DSCH for downlink traffic and a DCH for uplink traffic. This is exactly what is being done for release 5 of the 3GPP network, whereas FACH/RACH often is the best solution for applications sending just a small amount of data, e.g. IP ping. It will be appreciated by those skilled in the art that a UE being in HS-DSCH/E-DCH state consumes more power than a UE in FACH/RACH state.
Assume that a wireless HTTP client requests for a download of a fairly large amount of data from a HTTP server, a guess is that RACH and FACH will be used for the initial setup of the TCP/IP duplex connection, and that HS-DSCH will be used for the bulk data transfer and E-DCH will be used primarily for the TCP acknowledgements in the direction from the client to the server.
Forthcoming releases of 3GPP will include a function denoted Continuous Packet Connectivity (CPC) which is mainly intended for the increasing deployment of applications which send small packets either continuously (e.g. VoIP) or intermittently (e.g. msn and push email). The CPC is configured by the RNC but can be turned on and off by the Node-B. It allows the UE to restrict the downlink reception times. With CPC the UE can increase its battery lifetime by reducing its power consumption in between such downlink reception times. With CPC the UE does not necessarily have to leave the HS-DSCH/E-DCH state in order to preserve power in the case of inactivity, but can remain in HS-DSCH/E-DCH state and be able to respond much faster to incoming network initiated traffic (e.g. msn). The scheduler entity for both HS-DSCH and E-DCH is located in the Node-B, from now on called MAC-hs Scheduler and MAC-e Scheduler. There are some problems where the absence of specified interactions between the scheduling entities, which may affect end user TCP throughput:
Scenario 1
Scenario 1 addresses situations when HSDPA and EUL are activated for a specific user in Node-B, but where no data is relayed neither in downlink or uplink for a specific period of time.
For HS-DSCH, the delay measured from the time when data is received from RNC until the same data is transmitted in a MAC-hs Protocol Data Unit (PDU) is in most situations low. At least when there does not exist any conflict with data to several end users that competes on getting a transmit opportunity.
PDU carries information that is delivered as a unit among peer entities in a network and it can contain control information, address information or data. In a layered system this means a data unit that is specified in a protocol of a given layer and that consists of protocol-control information of the given layer and often user data of that layer.
This low delay is due to the fact that the scheduler is located together with the HS-DSCH sending entity in Node-B and only internal signalling is required (close to the air interface). For E-DCH however, it will take a little longer time since the UE must signal up to the Node-B that a transmission is required (or that higher bandwidth is requested). Moreover, the Node-B must signal the (increased) granted transmission rate to the UE.
FIG. 3 shows an example where no grant is given to the UE. FIG. 3 illustrates the events that will take place in UE and Node-B in order to “prepare” for transmission from the UE. Enhanced Uplink (EUL) is used when data is received from higher layer at the UE. When data is received 1 from the RLC layer, a scheduling request is sent 2 to the Node-B as part of the MAC-e header. The MAC-e scheduler in Node-B receives 3 the scheduling request and a grant is sent 4 to the UE, signalling the permission to transmit. A rough estimate is that this procedure will take in the range between 30-100 ms, for a configuration with TTI=10 ms.
Let us now consider that a majority of the 3GPP related internet traffic from and to the UEs are downlink related, coming from e.g. UE starting web or file downloads when using web applications such as Internet Explorer. More data will subsequently flow downlink compared to uplink as seen from the Node-B point of view.
The dominating internet protocol is TCP. When the wireless HSDPA/HSUPA capable UE starts downloading a web page, its HTTP client HTTP-C will request a document from a HTTP server HTTP-S, see FIG. 4. FIG. 4 illustrates data direction flow 1 versus TCP Ack flow 2. TCP uses a network congestion avoidance algorithm mechanism. Some key features are then of interest:                1. Slow start.        TCP uses a slow start, which means that whenever starting traffic on a new connection or increasing traffic after a period of congestion (overload), it starts the congestion window at a size of a single segment. It then increases the congestion window size by one segment each time an acknowledgement arrives. This result in an exponential increase, see ref 16 in FIG. 5. The congestion window is a state variable for each connection which is used by the sender to limit how much data a sender can transmit into the network before receiving an acknowledgement. Congestion window can never go above receiver window.        2. Congestion avoidance        At a determined threshold, the congestion window will stop its slow start and enter a congestion avoidance behavior in which the congestion window increases linear, see ref 17 in FIG. 5. The threshold is at the beginning set to the receiver window. At packet loss or timeout TCP decreases its congestion window, but the details are left out of this document.        
Using the key features (1 and 2 above) the data stream from the HTTP server down to the HTTP client expects to look as in the FIG. 5. At startup or when TCP detects packet losses, or when a timeout occurs due to long response times, TCP utilizes its slow start behavior. The purpose of slow start is to prevent congestion from occurring by varying the transmission rate. When this occurs the data rate will slowly increase exponentially, see FIG. 5. During these occasions Node-B traffic relay volume will be sparse.
The HSDPA and EUL protocols are semi-reliable in the sense that retransmission can and will occur. However, unlike protocols such as e.g. TCP, the HSDPA and EUL protocols do not require that every transmitted PDU are correctly delivered to the peer-entity. The Node-B and/or UE sending entity can discard data due to several reasons. One reason is that the total time from first transmission of a PDU has extended beyond the determined threshold. Another reason is that the current amount of retransmission for a specific PDU has extended beyond the determined threshold or a combination thereof.
When a discard occur, the RLC (Radio Link Control) protocol will detect the missing data at the peer entity and will perform a re-transmission. Now focusing on the downlink direction, since it was previously said that the dominating data direction was downlink. Then, where a discard occurs at the HSDPA protocol when the data throughput is low, it will usually take some time until the RLC layer performs a retransmission. The reason is simply due to the fact that RLC layer which operates in acknowledged mode will have a timeout based retransmission in the case of no response. During these occasions Node-B traffic relay volume will also be sparse.
Considering the fact that the dominating traffic is downlink related. Moreover, considering the fact that in 3GPP network packet losses can occur simply due to the wireless nature and the fact that RLC retransmissions will occur due to e.g. handover when a UE moves from one Node-B to another Node-B. With these facts many situations can be expected, when Node-B will perceive time periods with no data flowing neither in downlink or uplink. It will be appreciated by those skilled in the art that with CPC these periods of time with no data sent will increase simply because with CPC the UE can remain longer in its HSDPA and EUL state.
With the increasing amount of always-on application such as msn and push-email and the use of CPC situations can also be expected where no data is relayed neither in uplink or downlink as seen from Node-B, and where data will first come from the network side downlink to the UE.
There are some problems in relation to these periods with no data transmission situations. Focusing on Node-B, and upon when E-DCH has been activated, Node-B in such a situation (case A) at that time may have data pending in its buffer for downlink transmission, whilst it has no request for an uplink transmission nor has given any grant to the uplink transmission at the time of initialization. Alternatively (case B), no data exist in HS-DSCH transmit buffer and no grant is given to the uplink. At this point in time data will often be received in the HS-DSCH buffer. Of course it is also true that (case C) E-DCH can be setup with a default transmission of a grant allowing uplink transmissions.
Cases A and B are problematic, since it is in most case true that a response will be sent from the UE back to e.g. the TCP sender or the RLC sender confirming the successful reception of data. And as shown in FIG. 3 this can add an extra delay of approximately between 30 to 100 ms, for a 10 ms TTI.
Scenario 2
An alternative problem can occur when a level is reached where the granted uplink resource is larger than zero. The TCP data in downlink direction increases or due to a retransmission causes the TCP ACK volume to increase, by which the given granted rate in uplink is too low. This is also an example where one has to wait 30-100 ms before an increased uplink data transmission can take place.
Scenario 3
File downloads as described in scenario 1 will be characterized with first an increasing throughput up to a level in which throughput is close to its maximum, e.g. either limited by HTTP server or the wireless media, and finalized with an end of available data to download from the HTTP server. When this occurs it is possible that the UE is given a grant significantly larger than zero. Unless the UE itself indicate the absence of data to transmit, the Node-B has to determine the absence itself and reduce the grant for the UE to allow competing UE's to utilize the available resource. However, in both cases it is common that a too high bandwidth is granted for the UE, since the signalling or Node-B detection will take a certain time.
Scenario 4
In WCDMA Systems, resources for uplink data decoding (e.g. E-DPCCH, E-DPDCH) can be limited and typically the decoding resource allocation time is not zero. For this case it can be valuable to prepare the decoding resource allocation in advance, to save time. Allocation of decoding resources in a Node-B can be anything from close to 0 ms and more than 100 ms, depending on implementation (typically somewhere in between).
UE and 3GPP support multiple queues to be used, as well as part of the Internet protocol suite as well. This allows an UE to e.g. simultaneously perform a HTTP server request of a file download while using Voice over IP (VoIP).
Considering a situation where Node-B receives data to one UE related to multiple queues, e.g. VoIP and web browsing, typically the Node-B scheduler will prioritize one queue more than the other and transmit its data first. Assume further that the allocated decode resources are sufficient to support the resulting uplink data from the prioritized queue, but insufficient for the other queues. In this case a request to increase the decode resources will be performed once the MAC-e Scheduler detects the request to increase the uplink throughput for the said other queues, in which a long resource allocation time can affect the perceived throughput for the end user.
Scenario 5
In this scenario end users upload data to the internet. Consider the case when the UE might want to transmit a large file in uplink. With E-DCH the maximum rate is currently 5.74 Mbps (transport block rate). With 16 QAM and often Multiple Input Multiple Output (MIMO) this can increase further.
It is often that an increased uplink throughput will cause an increased TCP feedback signalling on HS-DSCH. It is also possible that the said corresponding TCP feedback bit rate is low compared to downlink traffic for other UE's that e.g. download web pages. Since the said corresponding TCP feedback throughput is low, it is not possible that the transmit priority for the said TCP feedback will affect the perceived throughput for the other UE's. That is, the end to end latency will not increase significantly since the TCP feedback bit rate is low. It is however possible that the transmit priority for the said TCP feedback will affect the perceived throughput for the UE that upload data. That is, the end to end latency can increase when the TCP feedback is delayed due to transmission of MAC-hs data to other UE's.